1. Field of the Invention
The present invention relates to apparatus and methods for decompressing and interpolating audio data.
2. Description of the Prior Art
Audio data is frequently compressed before it is stored in order to save data storage space. For example, the difference between consecutive data points may be taken and the difference (a smaller number requiring less bits) may be stored. Many other compression methods are known in the art.
In a digital system such as a computer or a music synthesizer, sound data is stored in tables, from which it is read out and converted to analog format before being played. Sets of data are stored for a variety of different pitches. If the pitch of a desired note does not correspond exactly to the pitch of one of the stored notes, a technique called "interpolation" is used to shift the pitch. In an analogsystem such as a tape recorder, it is easy to change the pitch of sound by playing the tape slower or faster (munchkinizing the data). But in a digital system, data points are stored only at set intervals, and the data is read out at a fixed rate. To "play the data faster," points of data which fall between the stored points must be calculated. To play the note at a pitch 25% higher than the stored pitch, data points are calculated at 2.25, 3.5, 4.75, etc. Then these points are read out at the original fixed data rate, which gets through the data quicker, and results in a higher pitched sound, just like playing a tape faster would. The interpolation used to compute these in between points may be linear interpolation or higher order interpolation.
Decompressing the stored audio data, followed by interpolation to change the pitch of the data, requires many computational steps. A need remains in the art for apparatus and methods for more efficiently decompressing and interpolating audio data.